package net.csdn.business.common.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import net.csdn.business.common.constant.CommonConstants;

import java.io.Serializable;
import java.util.Date;

/**
 * @author wanghang
 * @version 1.0
 * @date 2022/7/12 16:28
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class QuotaVo implements Serializable {

    /**
     * 命名空间
     */
    private String path;

    /**
     * 主体ID
     */
    private String targetId;

    /**
     * 主体类型 1-用户 2-组织
     */
    private Integer targetType;

    /**
     * 创建组织数量限制（个）
     */
    private Integer maxOrgNum;

    /**
     * 创建项目数量限制（个）
     */
    private Integer maxRepoNum;

    /**
     * 单个项目占用空间限制（mb）
     */
    private Integer maxRepoVolume;

    /**
     * ci/cd时长限制（min）
     */
    private Integer maxCicdTime;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = CommonConstants.DEFAULT_PATTERN, timezone = CommonConstants.DEFAULT_TIMEZONE)
    private Date createdDate;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 最后修改时间
     */
    @JsonFormat(pattern = CommonConstants.DEFAULT_PATTERN, timezone = CommonConstants.DEFAULT_TIMEZONE)
    private Date lastModifiedDate;

    /**
     * 最后修改人
     */
    private String lastModifiedBy;

}
